package cn.iocoder.yudao.module.member.controller.admin.curriculumVitaeSendRecord.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.util.Date;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * 简历投递记录 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 */
@Data
public class CurriculumVitaeSendRecordBaseVO {


    @ApiModelProperty(value = "简历id",  example = "1")
    private Long resumeId;

    @ApiModelProperty(value = "学生id",  example = "1")
    private Long studentId;

    @ApiModelProperty(value = "学生姓名",  example = "测试学生")
    private String studentName;

    @ApiModelProperty(value = "企业id",  example = "1")
    private Long companyId;

    @ApiModelProperty(value = "企业名称",  example = "香港中文大学")
    private String companyName;

    @ApiModelProperty(value = "职位id",  example = "1")
    private Long jobId;

    @ApiModelProperty(value = "岗位名称",  example = "JAVA-开发")
    private String jobName;

    @ApiModelProperty(value = "发布人id",  example = "1")
    private Long publisherId;

    @ApiModelProperty(value = "发布人名称",  example = "测试员")
    private String publisherName;

    @ApiModelProperty(value = "简历来源",  example = "投递")
    private String source;

    @ApiModelProperty(value = "简历投递日期", example = "2022-05-01")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date postDate;

    @ApiModelProperty(value = "简历流转状态(默认[待查看])", example = "待查看")
    private String status;

    @ApiModelProperty(value = "学生大头照",  example = "https://demo-oss.oss-cn-beijing.aliyuncs.com/png/ed0913589c5e4abb940bd2457eedf97c.png")
    private String studentPictureUrl;

    @ApiModelProperty(value = "当前身份",  example = "学生")
    private String identify;

    @ApiModelProperty(value = "性别",  example = "男")
    private String sex;

    @ApiModelProperty(value = "政治面貌",  example = "群众")
    private String political;

    @ApiModelProperty(value = "出生日期",  example = "2001-05-01")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date birthday;

    @ApiModelProperty(value = "居住城市",  example = "深圳")
    private String liveCity;

    @ApiModelProperty(value = "毕业时间",  example = "2019-09-01")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date graduateTime;

    @ApiModelProperty(value = "籍贯",  example = "广东")
    private String nativePlace;

    @ApiModelProperty(value = "民族",  example = "汉族")
    private String clan;

    @ApiModelProperty(value = "手机号码",  example = "13888888888")
    private String phoneNumber;

    @ApiModelProperty(value = "邮箱",  example = "test@qq.com")
    private String email;

    @ApiModelProperty(value = "大学名称",  example = "香港中文大学")
    private String universityName;

    @ApiModelProperty(value = "所学专业",  example = "计算机科学与技术")
    private String specialty;

    @ApiModelProperty(value = "学历",  example = "本科")
    private String education;

    @ApiModelProperty(value = "年级",  example = "20")
    private String grade;

    @ApiModelProperty(value = "是否有学位证书",  example = "是")
    private String diploma;

    @ApiModelProperty(value = "在校开始日期",  example = "2005-04-01")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date universityStartDate;

    @ApiModelProperty(value = "在校结束日期",  example = "2010-04-01")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date universityEndDate;

    @ApiModelProperty(value = "期望行业(可能多个)",  example = "开发")
    private String targetIndustry;

    @ApiModelProperty(value = "期望城市",  example = "深圳")
    private String targetCity;

    @ApiModelProperty(value = "最低薪资",  example = "5000")
    private Integer lowestSalary;

    @ApiModelProperty(value = "最高薪资",  example = "10000")
    private Integer highestSalary;

    @ApiModelProperty(value = "已修课程json",  example = "['高等数学','英语']")
    private String courses;

    @ApiModelProperty(value = "工作/实习经历json", example = "{}")
    private String workExperience;

    @ApiModelProperty(value = "项目经历json", example = "{}")
    private String projectExperience;

    @ApiModelProperty(value = "语言能力json",  example = "['法语','英语','西班牙语']")
    private String languageAbility;

    @ApiModelProperty(value = "专业技能json",  example = "['git','spring']")
    private String specialtyAbility;

    @ApiModelProperty(value = "证书json",  example = "['计算机等级证']")
    private String certificates;

    @ApiModelProperty(value = "社会实践/活动经历json", example = "[]")
    private String practiceExperience;

    @ApiModelProperty(value = "用户ID", required = true)
    private Long userId;

    @ApiModelProperty(value = "部门ID", required = true)
    private Long deptId;

    @ApiModelProperty(value = "学历等级")
    private Integer educationLeve;

    @ApiModelProperty(value = "教育经历")
    private String internshipDesire;

//    @ApiModelProperty(value = "实习愿望")
//    private String educationalExperience;
    /**
     * 实习周期
     */
    private String practicePeriod;
    /**
     * 工作周期
     */
    private String workPeriod;
}
